package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.EmptyBorder;

import negocio.Alumno;
import negocio.AsistenciaControlador;
import negocio.Cursada;
import negocio.CursadaControlador;
import negocio.Examen;
import negocio.ExamenControlador;
import negocio.NotaExamen;
import negocio.NotaExamenControlador;

import javax.swing.JButton;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;

import javax.swing.JTextPane;

import persistencia.CursadaDAO;

import javax.swing.border.TitledBorder;

public class HistorialAcademico extends JFrame {

	private JPanel contentPane;
	AlumnosBuscar alumnosBuscarPadre;
	Alumno alumno;
	String contenido="";
	JScrollPane logScroller;
	
	public void llenarHistorial()
	{
		ArrayList<Cursada> cursadas=CursadaControlador.getCursadasAlumno(alumno);
		for(Cursada c:cursadas)
		{
			contenido=contenido+"Cursada de "+c.getCurso().getNombre()+" comision "+c.getCodigo()+"\nFecha de inicio: "
					+c.getFechaInicio().toString()+"\tEstado "+c.getEstado()+"\nAsistencia: "
					+ AsistenciaControlador.getPorcentajeAsistencia(alumno, c)+"%\nNotas:\n";
			ArrayList<NotaExamen> notas=NotaExamenControlador.getNotasAlumno(c, alumno);
			if(notas.size()>0)
			{
				for(NotaExamen n:notas)
				{
					contenido=contenido+"\t"+n.getExamen().getNombre()+"\t Calificacion: "+n.getNota()+"\n";
				}
				contenido=contenido+"\n--------------------------------------------------------------\n";
			}
			else
				contenido=contenido+"El alumno no ha rendido examenes en esta cursada\n--------------------------------------------------------------\n";
		}
	}
	
	public HistorialAcademico(AlumnosBuscar alumnosBuscarPadre, Alumno alumno) {
		
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e){
				alumnosBuscarPadre.nullHistorialAcademico();
			}
		});
		
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 678, 530);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JButton btnSalir = new JButton("Salir");
		btnSalir.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				alumnosBuscarPadre.nullHistorialAcademico();
				dispose();
			}
		});
		btnSalir.setBounds(563, 461, 89, 23);
		contentPane.add(btnSalir);
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(10, 10, 642, 440);
		contentPane.add(scrollPane);
		
		JTextArea textArea = new JTextArea();
		textArea.setEditable(false);
		scrollPane.setViewportView(textArea);

		this.alumnosBuscarPadre=alumnosBuscarPadre;
		this.alumno=alumno;
		this.setTitle("Historial academico del alumno "+alumno.getApellido()+" "+alumno.getNombre());
		this.llenarHistorial();
		textArea.setText(contenido);
	
		
		
	}
}
